<?php
/**
 * 观察者模式 - 被观察者通知观察者，观察者接到通知后执行事件
 * User: 16
 * Date: 2018/9/25
 * Time: 15:06
 */

// 注册自加载
spl_autoload_register('autoload');
function autoload($class)
{
    require dirname($_SERVER['SCRIPT_FILENAME']) . '//..//' . str_replace('\\', '/', $class) . '.php';
}

use observer\Observable;
use observer\ObserverOne;
use observer\ObserverTwo;

//注册一个被观察者
$observable = new Observable();

//注册观察者
$observer1 = new ObserverOne();
$observer2 = new ObserverTwo();

//附加观察者
$observable->attach($observer1);
$observable->attach($observer2);

$observable->notify();